// const translits = require("../translists.js");
const app = getApp();
Page({
  timeInterval: NaN,
  /**
   * 页面的初始数据
   */
  data: {
    transfile: NaN,
    
    thumbnail_up_URL: app.globalData.thumbnail_up_URL,
  },

  // 驱动这个页面的主要方法
  updateTransfile: function () {
    var pages = getCurrentPages();
    var translistsPage = pages[pages.length - 2]
    var _this = this
    this.timeInterval = setInterval(function () {
      _this.timeOutEvent(translistsPage)
    }, 1000)    //代表1秒钟更新一次数据
  },
  
  timeOutEvent: function (translistsPage) {
    var transfile_U = translistsPage.data.transfile_U;
    var transfile_C = translistsPage.data.transfile_C;
    for (var i=0; i<transfile_U.length; i++) {
      if(this.data.transfile.FMID == transfile_U[i].FMID) {
        this.data.transfile = transfile_U[i]
        this.changeCloudListView();
        this.setData({
          transfile: this.data.transfile
        });
        return ;
      }
    }
    // 若执行到这步，则表示在transfile_U中找不到该元素，意味着可能文件已经传输完成，可进行下一步的显示操作，比如显示上传成功的图标等
    // 目前的想法是，查找C列表，是否有近期的对应的文件传输完成，若有，则认为成功，否则则失败。或者后台发送传输完成的标志位（-1，0，1）-1 失败 ，0 正在传输，1 成功
    // 成功则需要显示100%进度条给用户看，或者直接贴上传成功的图标
    // ..........
    // for (var i=0; i<transfile_C.length; i++) {
    //   // 匹配的是最近的完成的传输 也包括下载完成，所以此处还要比较状态码
    //   if (this.data.transfile.originFileName == transfile_C[i].originFileName && transfile_C[i].code == "104") {
    //     // .......（上传完成，显示界面）
    //     this.completeUploadView();
    //     return ;
    //   }
    // }
  },
  changeCloudListView: function () {
    var cloudList = this.data.transfile.cloudList;
    for (var i = 0; i < cloudList.length; i++) {
      cloudList[i].cloudName = app.convertCloudProviderName(cloudList[i].cloudName)
    }
    this.data.transfile.cloudList = cloudList;
  },

  // 上传完成之后，由于后台内存中删除了该文件数据信息，所以这里就自动补全信息
  // 置0：所有速度。 最大：文件大小，进度条，碎片数量，云碎片列表中的进度条，碎片数量。
  // completeUploadView: function () {
  //   var transfile = this.data.transfile;
  //   var cloudList = transfile.cloudList
  //   console.log(transfile);
  //   transfile.code = "103"
  //   transfile.speed = "0KB/s"
  //   transfile.status = app.convertCode(transfile.code)
  //   transfile.transedNumber = transfile.totalNumber
  //   var sizeArray = transfile.sizeInfo.split("/")
  //   transfile.sizeInfo = sizeArray[1]+"/"+sizeArray[1]
  //   transfile.progress = "100%"

  //   for(var i=0; i<cloudList.length; i++) {
  //     cloudList[i].progress = "100%"
  //     cloudList[i].speed = "0"
  //     cloudList[i].transedNumber = cloudList[i].totalNumber
  //   }
  // },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.data.transfile = JSON.parse(decodeURIComponent(options.transfile_u))
    this.changeCloudListView();
    // console.log(transfile.originFileName)
    this.setData({
      transfile: this.data.transfile
    })
    console.log("this.data.transfile" + this.data.transfile)
    this.updateTransfile();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    clearInterval(this.timeInterval)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})